The Adobe® company's Acrobat® line of products is designed to allow the creation and viewing of documents in a platform-independent manner. Files can be created or converted to Adobe® Acrobat® Portable Document Format (PDF), which is an open de facto standard for electronic document distribution. PDF is a universal file format that preserves all the fonts, formatting, graphics, and color of the source document, regardless of the application and platform used to create it. Adobe PDF files can be shared, viewed, navigated, and printed exactly as intended. The PDF format and the line of Acrobat® products provides platform transportability for documents.
Each PDF file can describe multiple pages of content. Within each PDF file, the pages are represented in a database having the form of a tree-structure. Each PDF page is accessible from the well-defined root of the tree-structure using a known traversal algorithm. The graphic content of each page, in the form of Cos objects, is represented by one or more terminal nodes in the structure.
In the publishing industry, it is useful to be able to produce composite pages which consist of multiple component graphic objects. It is not uncommon for some of the graphic objects to be variable in nature, such as, for example, the addressee on a form letter. It is also useful and convenient for the component graphic objects to be stored as static PDF files.
FIG. 1 shows a process by which component static PDF files composed of graphical components are composited onto a single page or multiple pages to create a final document. FIGS. 1A & 1B shows an individual composite page. The page contains a letter in which the logo, letter body and signature block can be varied among several choices, most likely depending upon the recipient of the letter. The variable portions of the letter are stored in static PDF files. FIG. 1(C) shows the selection of variable graphic objects for placement of the page based on a variable data stream containing the addressee information. Lastly, FIG. 2 shows the retrieval of the variable graphic objects from static PDF files.
Traditionally this process has been accomplished by RIPing (sending through a Raster Image Processor) each PDF file and using assembling hardware and/or software to overlay the raster images of each component to create a composite page. This construction is driven by a static, descriptive language, called a compositing language, that defines the appearance of each page in terms of component pages.
Because the RIP process can be computationally and time intensive, a technique is needed to organize a PDF file so that 1) multiple RIPs can be efficiently and simultaneously used to rasterize the file and 2) component PDF files that are used multiple times, i.e., composited more that once onto a single page or different pages, can share a single pass through the RIP and/or rasterization process.